import axios from "axios";
import { Message } from 'element-ui';
import router from '../router/index';

// 请求拦截器
axios.interceptors.request.use(config=>{
    if(window.sessionStorage.getItem('token')){
        config.headers['token'] = window.sessionStorage.getItem('token');
    }
    return config;
},error=>{
    console.log(error);
});

// 响应拦截器
axios.interceptors.response.use(success=>{
   //业务逻辑错误
   if(success.status&&success.status==200){
       if(success.data.code==500||success.data.code==401||success.data.code==403){
           Message.error({message:success.data.msg});
           return;
       }
       if(success.data.msg){
           Message.success({message:success.data.msg});
       }
   }
   return success.data;
},error =>{
   if(error.response.code==504||error.response.code==404){
       Message.error({message:'サーバーが食われた( ╯□╰ )'});
   }else if(error.response.code==403){
       Message.error({message:'権限不足'});
   }else if(error.response.code==401){
       Message.error({message:'ログインしてください'});
       router.replace('/');
   }else{
       if(error.response.message){
           Message.error({message:error.response.message});
       }else{
           Message.error({message:'謎のエーラー'});
       }
   }
});


let base='';
//传送json格式的post请求
export const getRequest=(url)=>{
    return axios({
        method:'get',
        url: `${base}${url}`
    })
}

export const putRequest=(url,params)=>{
    return axios({
        method: 'put',
        url: `${base}${url}`,
        data: params
    })
}

export const postRequest=(url,params)=>{
    return axios({
        method: 'post',
        url: `${base}${url}`,
        data: params
    })
}

export const deleteRequest=(url,workId)=>{
    return axios({
        method: 'delete',
        url: `${base}${url}`,
        data: {workId:workId}
    })
}

